//////////////////////////////////////////////////////////////////////////
//
//
//
//
//
//
//
//
//////////////////////////////////////////////////////////////////////////


// dll import/export

#ifdef GSE_EXPORTS
#define GSE_DLL_API  __declspec(dllexport)
#else
#define GSE_DLL_API __declspec(dllimport)
#endif

#if _MSC_VER >= 1100 && !defined(_DEBUG)
	#define GSE_NOVTABLE __declspec(novtable)
#else
	#define GSE_NOVTABLE
#endif

typedef unsigned int		uint;
typedef unsigned long		ulong;

typedef __int8				int8;
typedef __int16				int16;
typedef __int32				int32;
typedef __int64				int64;

typedef unsigned __int8		uint8;
typedef unsigned __int16	uint16;
typedef unsigned __int32	uint32;
typedef unsigned __int64	uint64;


#ifdef UNICODE
typedef wchar_t tchar;
#ifndef TEXT 
#define TEXT(quote) L##quote
#endif
#else
typedef char tchar;
#ifndef TEXT
#define TEXT(quote) quote      // r_winnt
#endif
#endif


#define GSE_INTERFACE_NONCOPY(_Class) \
	public:\
		virtual ~_Class() {}\
	protected:\
		_Class() {}\
	private:\
		_Class( const _Class& );\
		const _Class& operator=( const _Class& );\
	public:
